#include <bits/stdc++.h>
using namespace std;

class Solution {
public:
    void setZeroes(vector<vector<int>>& matrix) {
        int m = matrix.size();
        int n = matrix[0].size();
        int row_flag = 0;
        int col_flag = 0;

        for(int i=0; i<m; ++i){
            for(int j=0; j<n; ++j){
                if(matrix[i][j]==0){
                    if(i == 0) row_flag = 1;
                    if(j == 0) col_flag = 1;
                    matrix[i][0] = matrix[0][j] = 0;
                } 
            }
        }
        for(int i=1; i<m; ++i){
            if(matrix[i][0]==0){
                for(int j=1; j<n; ++j) matrix[i][j] = 0;
            }
        }
        for(int j=1; j<n; ++j){
            if(matrix[0][j]==0){
                for(int i=1; i<m; ++i) matrix[i][j] = 0;
            }
        }
        if(row_flag){
            for(int j=0; j<n; ++j) matrix[0][j] = 0;
        }
        if(col_flag){
            for(int i=0; i<m; ++i) matrix[i][0] = 0;
        }
    }
};

int main(){

}